package servidorLocalizacion.servidor;

import java.io.IOException;
import java.net.ServerSocket;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

import servidorLocalizacion.DAO.DAOServidorLocalizacion;
import servidorLocalizacion.GUI.AdminLocalizacion;
import Utils.SocketManager;

/**
 * <p>
 * Clase que representa el servidor de localizacion
 * </p>
 *
 */
public class ServidorLocalizacion {

	static int port = 6565;
	static boolean activo;
	static List<SesionLocalizacion> sesiones;
	static ServerSocket socket;
	
	public static void init(){
		try {
			socket = new ServerSocket(port);
			new AdminLocalizacion();
			DAOServidorLocalizacion.init();
			activo = true;
			sesiones = new ArrayList<SesionLocalizacion>();
		} catch (ClassNotFoundException | SQLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			JOptionPane.showMessageDialog(null, "No se puede iniciar el servidor.");

		}
	}
	
	public static void ejecutar(){
	try{	
		
		
		while(activo){
			SocketManager sock = new SocketManager(socket.accept());
			SesionLocalizacion gestor = new SesionLocalizacion(sock);
			Thread t = new Thread(gestor);
			t.start();
		}
		
		} catch (IOException e) {
		}
	}
}
